package com.lrs.java.j2se_advanced.codec;

public class ByteArrAndASCIIArrTest {

	public static void main(String[] args) {
		
		/*
		 * string 转换成byte[]数组时，隐含的会有字符集概念，（即把字符串转换成指定字符集的字节数组）
		 * 同理，从byte[]转换成字符串时，其中同样隐含了字符集的概念。（即是使用指定的字符集，将字节数组转成字符串）
		 */
		String str = "123abc";
		print(str.getBytes());
		
		byte[] bytes = {49, 50, 51, 97, 98, 99};
		print("convert to string from byte :" + new String(bytes));
		
		
		/*
		 * 转换过程: 
		 * "123abc"(String) --> [49, 50, 51, 97, 98, 99] (byte[]) -->  
		 * 		['3' '1' '3' '2' '3' '3' '6' '1' '6' '2' '6' '3'] (十六进制字节数组) 
		 */
		String hexStr = Hex.encodeHexStr(bytes);
		print(hexStr);
		print(hexStr.getBytes());
		
		
//		print("1".getBytes());
		
	}
	
	public static void print(byte[] bytes) {
		for(int i=0; i<bytes.length; i++) {
			System.out.print(bytes[i] + " ");
		}
		System.out.println();
	}
	
	public static void print(String str) {
		System.out.println(str);
	}
	
	
}
